package com.course.domain.service;

import com.course.domain.model.*;

import java.util.List;

/**
 * Created by Justin on 2017/5/12.
 */
public interface TaskService {

    TaskAudio createAudio(TaskAudio taskAudio);

    TaskAudio updateAudio(TaskAudio taskAudio);

    TaskVideo createVideo(TaskVideo taskVideo);

    TaskVideo updateVideo(TaskVideo taskVideo);

    TaskStory createStory(TaskStory taskStory);

    TaskStory updateStory(TaskStory taskStory);

    TaskLearn createLearn(TaskLearn taskLearn);

    TaskLearn updateLearn(TaskLearn taskLearn);

    TaskClass createClass(TaskClass taskClass);

    TaskClass updateClass(TaskClass taskClass);

    TaskEvent createEvent(TaskEvent taskEvent);

    TaskEvent updateEvent(TaskEvent taskEvent);

    TaskGroup createGroup(TaskGroup taskGroup);

    TaskGroup updateGroup(TaskGroup taskGroup);

    TaskLearn loadLearn(int learnId);

    TaskClass loadClass(int classId);

    TaskEvent loadEvent(int eventId);

    List<TaskAudio> findAudio(int courseId);

    List<TaskVideo> findVideo(int courseId);

    List<TaskStory> findStory(int courseId);

    List<TaskLearn> findLearn(int courseId);

    List<TaskClass> findClass(int courseId);

    List<TaskEvent> findEvent(int courseId);

    List<TaskGroup> findGroup(int courseId);

    List<TaskClass> findClass(List<Integer> taskIds);

    void removeGroup(int id);

    int countLearn(List<Integer> taskIds);
}
